<html>
<head><meta charset="utf-8"><title>Help with `process_projection` · t-compiler/help · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/index.html">t-compiler/help</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html">Help with `process_projection`</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="198695662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198695662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198695662">(May 25 2020 at 19:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> Could you explain what <code>process_projection</code> is doing in the MIR visitor?  And what's up with these two lines?</p>
<p><a href="https://github.com/rust-lang/rust/blob/a0f06d11ae7fe29c8e263e2a5d8cd41b372f0283/src/librustc_middle/mir/visit.rs#L905-L906">https://github.com/rust-lang/rust/blob/a0f06d11ae7fe29c8e263e2a5d8cd41b372f0283/src/librustc_middle/mir/visit.rs#L905-L906</a></p>



<a name="198696181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198696181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198696181">(May 25 2020 at 19:25)</a>:</h4>
<p>Is this to work around the borrow-checker somehow?</p>



<a name="198696406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198696406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198696406">(May 25 2020 at 19:29)</a>:</h4>
<p>And why does <code>visit_projection</code> exist only for <code>Visitor</code>, not for <code>MutVisitor</code>? Why do we need this in addition to <code>visit_place</code>/<code>visit_projection_elem</code>?</p>



<a name="198698783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198698783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198698783">(May 25 2020 at 20:04)</a>:</h4>
<p>Ah, I see. There's places where we want to skip a projection but continue iterating.</p>



<a name="198701474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198701474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198701474">(May 25 2020 at 20:49)</a>:</h4>
<p><span class="user-mention" data-user-id="118594">@ecstatic-morse</span> we should make this solution a bit better</p>



<a name="198701476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198701476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198701476">(May 25 2020 at 20:49)</a>:</h4>
<p>but did you figure it out?</p>



<a name="198701679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/Help%20with%20%60process_projection%60/near/198701679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/Help.20with.20.60process_projection.60.html#198701679">(May 25 2020 at 20:52)</a>:</h4>
<p>I'm working to remove <code>PlaceContext::Projection</code>, which isn't used in mutable visitors so I've punted on that part of it for now.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>